如果一个站点访问量特别大,那么访问日志就会很多。但有一些访问日志其实可以忽略掉的,比如网站的一些图片,还有 js,css 等静态对象。而这些文件的访问往往是巨量的,而且即使记录这些日志也没有什么用,如何忽略掉这些访问日志呢?
相关配置为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| [root@lamp ~] SetEnvIf Request_URI \.jpg$ image-request SetEnvIf Request_URI \.JPG$ image-request SetEnvIf Request_URI \.png$ image-request SetEnvIf Request_URI \.js$ image-request SetEnvIf Request_URI \.bmp$ image-request SetEnvIf Request_URI \.css$ image-request SetEnvIf Request_URI \.mid$ image-request SetEnvIf Request_URI \.swf$ image-request SetEnvIf Request_URI \.mmf$ image-request SetEnvIf Request_URI \.wma$ image-request SetEnvIf Request_URI \.midi$ image-request ErrorLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-error_%Y%m%d_log 86400" CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/test.com-access_%Y%m%d_log 86400" combined env=!image-request
|
说明:在原来日志配置的基础上,增加了一些 image-request 的定义,比如把 gif 、jpg、bpm、swf、js、css 等结尾的全标记为 image-request 。谈后在配置日志的时候加一个标记 env=!image-request ,这里有个叹号,表示取反,这样就可以把这些忽略了。